function rsa(t) {
    var e = this.n.bitLength() + 7 >> 3
        , n = function (t, e) {
        if (e < t.length + 11)
            return null;
        for (var n = [], r = t.length - 1; r >= 0 && e > 0;) {
            var i = t.charCodeAt(r--);
            i < 128 ? n[--e] = i : i > 127 && i < 2048 ? (n[--e] = 63 & i | 128,
                n[--e] = i >> 6 | 192) : (n[--e] = 63 & i | 128,
                n[--e] = i >> 6 & 63 | 128,
                n[--e] = i >> 12 | 224)
        }
        n[--e] = 0;
        for (var o = new _, a = []; e > 2;) {
            for (a[0] = 0; 0 == a[0];)
                o.nextBytes(a);
            n[--e] = a[0]
        }
        return n[--e] = 2,
            n[--e] = 0,
            new T(n)
    }(t, e);
    if (null == n)
        return null;
    var r = this.doPublic(n);
    if (null == r)
        return null;
    for (var i = r.toString(16), o = i.length, a = 0; a < 2 * e - o; a++)
        i = "0" + i;
    return i
}
